home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / macros / Editing / Keywords_to_Upper_Case.bsh < prev    next >
Text File  |  2013-07-28  |  1KB  |  52 lines

  1. /**
  2.  * Converts keyword token types to upper case.
  3.  */
  4.  
  5. //Localization
  6. final static String ConvertedKeywordsMessage   = jEdit.getProperty("macro.rs.KeywordsToUpperCase.ConvertedKeywords.message", "Converted Keywords to Upper Case"); 
  7.  
  8. void keywords2upper(View view)
  9. {
  10.     // declarations run faster than doing Token.KEYWORDx comparison
  11.     byte KEYWORD1 = Token.KEYWORD1;
  12.     byte KEYWORD4 = Token.KEYWORD4;
  13.     JEditBuffer buffer = view.getBuffer();
  14.     JEditTextArea textArea = view.getTextArea();
  15.     Token token = null;
  16.  
  17.     //long t1 = System.currentTimeMillis();
  18.  
  19.     Selection[] selection = textArea.getSelection();
  20.     Buffer.TokenList info = null;
  21.     int pos = 0;
  22.     int lineStart = 0;
  23.  
  24.     for(int line = 0; line < textArea.getLineCount(); ++line)
  25.     {
  26.         info = buffer.markTokens(line);
  27.         token = info.getFirstToken();
  28.         lineStart = buffer.getLineStartOffset(line);
  29.         pos = lineStart;
  30.         while(token != null)
  31.         {
  32.             if(KEYWORD1 <= token.id && token.id <= KEYWORD4)
  33.             {
  34.                 String word = buffer.getText(pos,token.length);
  35.                 buffer.remove(pos,token.length);
  36.                 buffer.insert(pos,word.toUpperCase());
  37.             }
  38.             pos += token.length;
  39.             token = token.next;
  40.         }
  41.     }
  42.     view.getTextArea().setSelection(selection);
  43.  
  44.     //long t2 = System.currentTimeMillis();
  45.     //print("elapsed: " + (t2-t1));
  46.  
  47.     view.getStatus().setMessageAndClear(ConvertedKeywordsMessage);
  48. }
  49.  
  50. keywords2upper(view);
  51.  
  52.